他們讓非技術背景的用戶可以輕鬆地建立自己的資料庫。自我介紹連結:https://www.ragic.com/intl/zh-TW/blog/190
我覺得 Ragic 有幾個主要的特點:
但還是要說個收費是真的蠻貴的,對於不到 10 人的小公司來說,如果買專業版 5 人 * USD19/月,或至少三個部門各一個,需要 3 * 19 * 30 * 11 (Ragic 購買一年有送一個月),就要接近 NTD20,000,一般整套的也只要 30,000 就能無限制人數了...從定價看來應該也是人數多的會比較划算
讓開發者可以對資料庫進行 CRUD(建立、讀取、更新、刪除),在 WooCommerce 串接中,建立是最常用到的(主要是在丟新訂單),我以 Python 分別範例(都是從 Ragic Github 抄來的 ><):
取得 ragic_BASE_URL
https://資料庫網址(SERVER_URL)/使用者名稱(ACCOUNT_NAME)/頁籤(TAB)/表單編號(SHEET_INDEX)
前面資料庫 + 使用者名稱是你的 ragic_BASE_URl,例如我的訂單管理>訂單,表單網址是 https://ap2.ragic.com/my-ragic-database/forms/2 這樣我的 ragic_BASE_URl = 'ap2.ragic.com/my-ragic-database'。
如果你想要修改表單裡面的特定一筆資料,只要點進去,就可以取得在表單編號後面的紀錄編號(RECORD_ID)
取得 ragic_API_KEY
在右上角的使用者名稱懸停,點擊個人設定,看到** API Key**,這個就是了!
data 格式
data = {
表格編號: 資料,
表格編號 2: 資料 2,
表格編號 3: 資料 3,
}
表單編號要到修改設計,選取你要的欄位,欄位右下方會有個欄位編號,是整個資料庫欄位的唯一編號!
import requests
記得在 python 開頭加入 requests
讓我們開始組合 8!
params = {'api': '','v': 3}
data = {
表格編號 1: 資料 1,
表格編號 2: 資料 2,
表格編號 3: 資料 3,
}
ENDPOINT = f'https://{ragic_BASE_URL}/forms8/9' # 在這個表單新增資料
response = requests.post(ENDPOINT, params=params, json=data, headers={'Authorization': 'Basic '+ragic_API_KEY})
print(response.text)
是不是很簡單,把三個物件做出來,丟到 requests.post() 裡面就可以了!如果你熟悉的話,直接把 params 跟 ENDPOINT 丟進去,甚至只要 data 跟 response 兩行就可以解決!
執行後就能看到他跑上去啦!如果 request 有錯誤他會回傳,並存入 response,print(response.text) 會把資訊 show 出來。
更簡單,不需要 data
params = {'api': '','v': 3}
ENDPOINT = f'{ragic_BASE_URL}/forms8/9'
response = requests.get(ENDPOINT, params=params, headers={'Authorization': 'Basic '+ragic_API_KEY})
或你可以把 params & ENPOINT 中的資料直接放進 requests.get() 中,這樣只要一行:
response = requests.get(f'{ragic_BASE_URL}/forms8/9', params={'api': '','v': 3}, headers={'Authorization': 'Basic '+ragic_API_KEY})
這邊比較難的是他的資料格式,如果你只是要看文字檔案,直接用 response.text 就可以,但因為是字串(str),你無法處理這串資料,這邊就要用到 json 模組了!記得要在執行前 import json
response_dict = response.json
他可以把 json 格式直接轉換成字典,然後你就可以把整串丟給 ChatGPT,請他幫你整理出資料。例如跟他說:「幫我把這串資料以訂單編號為 key,整理成一個字典,裡面包含總金額、運費、付款方式、品項、會員名稱、EMAIL、電話」,假設他給了你
order = {
order_id_1 : {
總金額: 199;
運費: 60;
付款方式: Apple Pay;
品項: 四季春茶;
會員名稱: Gabriel;
EMAIL: gabriel@hi.com;
電話: 0987654321;
},
order_id_2: {
bla bla bla
},
}
你就可以輕易呼叫 order[order_id_1][總金額],來獲取資料,進行更進階的處理了!
這個其實就跟 Creat 一樣,只是你必須指定到表單編號後面的紀錄編號(RECORD_ID),也就是現在真的存在的資料,然後用跟 Creat 一樣的方法覆蓋掉原本的檔案,所以就不寫了!
這個的話建議直接打開 Ragic 頁面去刪除,不然誤刪了真是會麻煩,我通常都是刪除單筆資料,所以這邊會指定到 record_id
ENDPOINT = f'{ragic_BASE_URL}/forms8/9/30'
reqponse = requests.delete(ENDPOINT, params=params, headers={'Authorization': 'Basic '+API_KEY})
跟 Read 一樣,不需要指定 Data。
這樣你四個方法都學玩啦!如果想更深入了解,可以參考以下的文件們~
API Handbook
https://www.ragic.com/intl/zh-TW/doc-api
有 Javascript, PHP & Python 的 example
https://github.com/ragic/public/tree/master/HTTP%20API%20Sample